package com.project.service;

import com.github.pagehelper.PageInfo;
import com.project.bean.EmployeeBean;

import java.util.List;

public interface IEmployeeService {
    public  int PAGESIZE=3;
    /**
     * 按排序规则模糊查询员工
     * @param name 员工姓名
     * @param job 特长
     * @param status 员工状态
     * @param rule 排序规则
     * @return 员工集合
     */
    public PageInfo<EmployeeBean> findByItem(int pageNum, String name, String job, String status, String rule);

    /**
     * 添加员工
     * @param employeeBean 员工对象
     */
    public void add(EmployeeBean employeeBean);

    /**
     * 根据id删除员工 并修改状态为离职
     * 完成项目时间修改为当前时间
     * @param id id
     * @Param status 状态
     */
    public void updateS(int id,String status);

    /**
     * 按id修改员工信息
     * @param id id
     * @param phone 新电话
     * @param money 新工资
     */
    public void updateM(int id,String phone,int money);

    /**
     * 按id查询员工信息并查询参与所有的项目名称 以及项目完成项目的开始时间和结束时间
     * @param id 员工id
     * @return 员工对象
     */
    public EmployeeBean findById(int id);

    /**
     * 动态查询没参与指定项目在职人员，其中项目ID和员工状态为固定条件， 姓名和专长为动态条件
     * @param Id id
     * @param name 员工姓名
     * @param job 员工专长
     * @return 员工列表
     */
    public  List<EmployeeBean>findOther(int Id,String name,String job);

    /**
     * 按照id查询员工信息，同时查询该员工正在进行项目的名称以及完成项目的开始时间
     * @param id
     * @return
     */
    public EmployeeBean findByIdRuntime(int id);
}
